/*!
 * \file json_core.h
 *
 * \brief json 数据解析
 *
 * All Rights Reserved Copyright (C) 2014 broada,Co.,Ltd.\n
 *
 * \version 1.0
 * \author geyh
 * \date 2017/03/02
 *
 */

#ifndef APM_R4_JSON_CORE_H
#define APM_R4_JSON_CORE_H

#include <conntrack.h>

/*!
 * 判断当前数据链路是否是json协议的
 *
 * \param p_st_conn        (ct信息)
 * \param p_st_packet      (协议分析入力数据)
 *
 * \return 参照module.h中APM_L7_IS_的定义
 *
 */
int json_detect(Conntrack *p_st_conn, Apm_packet *p_st_packet);

/*!
 * json协议解析入口
 *
 * \param p_st_conn             (ct信息)
 * \param p_st_packet           (协议分析入力数据)
 * \param p_st_hash_report      (保存Frreport_data)
 *
 * \return 参照module.h中APM_L7_ANALYZE_的定义
 *
 */
int json_analyze(Conntrack *p_st_conn, Apm_packet *p_st_packet, Frhash_header *p_st_hash_report);

/*!
 * json私有数据销毁
 *
 * \param p_private_session     (私有数据)
 *
 * \return FR_SUCC
 *
 */
int json_session_destroy(void *p_private_session);

#endif //APM_R4_JSON_CORE_H
